package org.dding.msc.service;

import org.dding.msc.exception.DuplicateServiceException;

public interface ServiceRegistration {

	public Object getValue() throws IllegalStateException;

	public ServiceName getName();

	public ServiceController<?> getInstance();

	public abstract void setInstance(final ServiceController<?> instance)
			throws DuplicateServiceException;

	public ServiceContainer getContainer();

	public void clearInstance(final ServiceController<?> oldInstance);

}